A software defined network (SDN) is a new network architecture. Compared with IP route searching used by a conventional network, an SDN/OpenFlow can implement flexible control on network traffic, provides a good platform for innovation of core networks and applications, and is a future development direction of network architectures.
An existing SDN network uses a dual-controller solution: an IP layer controller and an optical layer controller, where the IP layer controller is responsible for managing resources at an IP layer, and the optical layer controller is responsible for managing resources at an optical layer, that is, a layered management mode is implemented.
However, in an existing layered management mode, a process of acquiring a service path is very complex, and efficiency is very low. Referring to FIG. 1, FIG. 1 is a schematic structural diagram of an implementation manner of a layered model in a layered management mode in the prior art. As shown in FIG. 1, an IP layer controller (not shown in the figure) is responsible for managing routers 110, and an optical layer controller (not shown in the figure) is responsible for managing optical layer devices 120. The routers 110 include routers R1 to R6, and at least one virtual connection can be established between every two adjacent routers. For example, at the initial stage, a virtual connection that has been established between a router 110 and another router 110 is referred to as a virtual connection 1. A virtual connection 1 that has been established between the router R1 and the router R2 is referred to as a virtual connection 1 between the router R1 and the router R2; a virtual connection 1 that has been established between the router R2 and the router R3 is referred to as a virtual connection 1 between the router R2 and the router R3; a virtual connection 1 that has been established between the router R3 and the router R4 is referred to as a virtual connection 1 between the router R3 and the router R4; a virtual connection 1 that has been established between the router R4 and the router R5 is referred to as a virtual connection 1 between the router R4 and the router R5; a virtual connection 1 that has been established between the router R5 and the router R6 is referred to as a virtual connection 1 between the router R5 and the router R6; a virtual connection 1 that has been established between the router R6 and the router R1 is referred to as a virtual connection 1 between the router R6 and the router R1.
The optical layer devices 120 include optical layer devices O1 to O6, where an optical cross channel is established between the optical layer device O1 and the optical layer device O2; an optical cross channel is established between the optical layer device O2 and the optical layer device O3; an optical cross channel is established between the optical layer device O3 and the optical layer device O4; an optical cross channel is established between the optical layer device O4 and the optical layer device O5; an optical cross channel is established between the optical layer device O5 and the optical layer device O6; and an optical cross channel is established between the optical layer device O6 and the optical layer device O1. Each router 110 is connected to a corresponding optical layer device 120. It should be noted that, virtual connections instead of actual physical direct connections exist between the routers R1 to R6, and each virtual connection is corresponding to one optical cross channel at an optical layer. For example, the virtual connection 1 between the router R1 and the router R2 is corresponding to an optical cross channel established between O1 and O2, with a wavelength being λ1 and with a timeslot being 3.
The optical cross channel between the optical layer device O1 and the optical layer device O2 has a bandwidth of 20 G, where 10 G is allocated as a bandwidth of the virtual connection 1 between the router R1 and the router R2, so a remaining bandwidth of the optical cross channel between the optical layer device O1 and the optical layer device O2 is 20 G−10 G=10 G; a bandwidth of 5 G of the virtual connection 1 between the router R1 and the router R2 is already used, so a remaining bandwidth of the virtual connection 1 between the router R1 and the router R2 is 10 G−5 G=5 G. The optical cross channel between the optical layer device O2 and the optical layer device O3 has a bandwidth of 20 G, where 10 G is allocated as a bandwidth of the virtual connection 1 between the router R2 and the router R3, so a remaining bandwidth of the optical cross channel between the optical layer device O2 and the optical layer device O3 is 20 G−10 G=10 G; a bandwidth of 3 G of the virtual connection 1 between the router R2 and the router R3 is already used, so a remaining bandwidth of the virtual connection 1 between the router R2 and the router R3 is 10 G−3 G=7 G. The optical cross channel between the optical layer device O3 and the optical layer device O4 has a bandwidth of 20 G, where 20 G is allocated as a bandwidth of the virtual connection 1 between the router R3 and the router R4, so a remaining bandwidth of the optical cross channel between the optical layer device O3 and the optical layer device O4 is 20 G−20 G=0 G; a bandwidth of 5 G of the virtual connection 1 between the router R3 and the router R4 is already used, so a remaining bandwidth of the virtual connection 1 between the router R3 and the router R4 is 20 G−5 G=15 G. The optical cross channel between the optical layer device O4 and the optical layer device O5 has a bandwidth of 20 G, where 10 G is allocated as a bandwidth of the virtual connection 1 between the router R4 and the router R5, so a remaining bandwidth of the optical cross channel between the optical layer device O4 and the optical layer device O5 is 20 G−10 G=10 G; a bandwidth of 5 G of the virtual connection 1 between the router R4 and the router R5 is already used, so a remaining bandwidth of the virtual connection 1 between the router R4 and the router R5 is 10 G−5 G=5 G. The optical cross channel between the optical layer device O5 and the optical layer device O6 has a bandwidth of 20 G, where 20 G is allocated as a bandwidth of the virtual connection 1 between the router R5 and the router R6, so a remaining bandwidth of the optical cross channel between the optical layer device O5 and the optical layer device O6 is 20 G−20 G=0 G; a bandwidth of 5 G of the virtual connection 1 between the router R5 and the router R6 is already used, so a remaining bandwidth of the virtual connection 1 between the router R5 and the router R6 is 20 G−5 G=15 G. The optical cross channel between the optical layer device O6 and the optical layer device O1 has a bandwidth of 20 G, where 10 G is allocated as a bandwidth of the virtual connection 1 between the router R6 and the router R1, so a remaining bandwidth of the optical cross channel between the optical layer device O6 and the optical layer device O1 is 20 G−10 G=10 G; a bandwidth of 1 G of the virtual connection 1 between the router R6 and the router R1 is already used, so a remaining bandwidth of the virtual connection 1 between the router R6 and the router R1 is 10 G−1 G=9 G.
If the IP layer controller receives a request for establishing a service path, with a bandwidth of 6 G, from the router R1 to the router R4 (as shown by a dot dash line in the figure), the IP layer controller first computes a path at an IP layer, and attempts to establish a channel from the router R1 to the router R4 by using the existing virtual connections 1. The IP layer controller finds that the remaining bandwidth of the virtual connection 1 between the router R1 and the router R2 is only 5 G, which is less than 6 G that is required; therefore, an IP layer path: R1→R2→R3→R4 cannot be established for service flow transmission by using the existing virtual connections 1. In addition, the remaining bandwidth of the virtual connection 1 between the router R4 and the router R5 is also only 5 G, which is less than 6 G that is required, and an IP layer path R1→R6→R5→R4 cannot be established for service flow transmission by using the existing virtual connections 1 either.
In this case, the IP layer controller may attempt to establish a virtual connection R1→R4 with a bandwidth of 6 G, and the virtual connection is corresponding to an optical cross channel O1→O2→O3→O4 with a bandwidth of 6 G at the optical layer. However, because the layered management mode is used, the IP layer controller does not know the remaining bandwidth of an optical cross channel between the optical layer devices 120, and the optical layer controller does not know the remaining bandwidth of each virtual connection 1 between the routers 110 either. Therefore, the IP layer controller can only initiate, to the optical layer controller, a corresponding request for establishing a virtual connection, with a bandwidth of 6 G, from R1 to R4. After receiving the request, the optical layer controller attempts to establish, at the optical layer by using a remaining bandwidth of an optical cross channel between the optical layer devices 120, a new optical cross channel that is corresponding to the virtual connection from R1 to R4 at the IP layer, that is, O1→O2→O3→O4 (a corresponding complete path is R1→O1→O2→O3→O4→R4) or O1→O6→O5→O4 (a corresponding complete path is R1→O1→O6→O5→O4→R4). However, the optical layer controller finds that the remaining bandwidth of the optical cross channel between the optical layer device O3 and the optical layer device O4 is only 0 G, which is less than 6 G that is required, and the remaining bandwidth of the optical cross channel between the optical layer device O5 and the optical layer device O6 is also only 0 G, which is less than 6 G that is required. Therefore, the optical layer controller feeds back, to the IP layer controller, that the optical cross channel that is corresponding to the virtual connection, with a bandwidth of 6 G, from R1 to R4, cannot be established.
In this case, the IP layer controller may consider “making up” a channel from the router R1 to the router R4 by using the existing virtual connections 1 together with a new virtual connection that is established by requesting bandwidth from the optical layer controller. For example, the IP layer controller considers to use the existing virtual connection 1 between the router R1 and the router R6, and then, establish a new virtual connection between the router R6 and the router R4. However, although the virtual connection 1 between the router R1 and the router R6 has an enough bandwidth, when a new virtual connection is established between the router R6 and the router R4, the optical layer controller finds that the remaining bandwidth of the optical cross channel between the optical layer device O6 and the optical layer device O5 is only 0 G, which is less than 6 G that is required, and the optical layer controller cannot use a remaining bandwidth of an optical cross channel O6→O5→O4. In addition, the remaining bandwidth of the optical cross channel between the optical layer device O3 and the optical layer device O4 is also only 0 G, which is less than 6 G that is required, and the optical layer controller cannot use a remaining bandwidth of an optical cross channel O6→O1→O2→O3→O4 (a corresponding complete path is R6→O6→O1→O2>O3→O4→R4). Therefore, the optical layer controller feeds back, to the IP layer controller, that an optical cross channel that is corresponding to a virtual connection, with a bandwidth of 6 G, from R6 to R4, cannot be established, and using the existing virtual connection 1 between the router R1 and the router R6, and then establishing a new virtual connection between the router R6 and the router R4 cannot be implemented either.
A path that meets requirements may be found only after such a manner of trying each possible path is repeated multiple times, and moreover, in the entire process, the IP layer controller and the optical layer controller need to interact multiple times. For example, the path that meets requirements may be an IP layer transmission path with a bandwidth of 6 G that is formed by a new virtual connection 1 with a bandwidth of 6 G from the router R1 to the router R3 and the virtual connection 1 with the remaining bandwidth of 15 G from the router R3 to the router R4 (that is, establishing an IP layer transmission path from R1 to R4 by establishing a virtual connection 1 from R1 to R3 first, as shown by a single line in the figure, and then using the existing virtual connection 1 from R3 to R4), and an actual path of the entire channel is R1→O1→O2→O3→R3→O3→O4→R4.
If there are n routers 110 at the IP layer and m optical layer devices 120 at the optical layer, in such a layered management mode, time complexity is n*m. As a result, efficiency of service path computation is very low, further affecting efficiency of flow entry generation.